package cn.kgc.form;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.hibernate.validator.constraints.Range;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Past;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.Date;

/**
 * @author example
 * @version 1.0
 */
@Data
@ApiModel
@SuppressWarnings("all")
public class SmbmsRoleAddForm implements Serializable {
    /**
     * 角色编码
     */
    @ApiModelProperty(value = "角色编码", dataType = "java.lang.String")
    @Pattern(regexp = "^[0-9a-zA-Z]｛4,10｝$",message = "角色编码必须由数字和字母组成,长度在4-10之间")
    private String rolecode;

    /**
     * 角色名称
     */
    @ApiModelProperty(value = "角色名称", dataType = "java.lang.String")
    @NotBlank(message = "角色名称不能为空")
    private String rolename;

    /**
     * 角色显示时的排序顺序
     */
    @ApiModelProperty(value = "角色显示时的排序顺序", dataType = "java.lang.Integer")
    @NotNull(message="排序顺序不能为空")
    @Range(min = 1, max = 10, message = "排序顺序必须在1-10之间")
    private Integer sort;

    /**
     * 创建时间
     */
    @ApiModelProperty(value="创建时间",dataType = "java.util.Date")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @NotNull(message = "创建时间不能为空")
    @Past(message = "创建时间必须过去的时间")
    private Date creationDate;
}
